package com.elitel.frame.base.service;

import java.util.List;

import com.elitel.frame.main.entity.SysPageui;
import com.elitel.frame.main.entity.SysPrjmenu;
import com.elitel.frame.main.entity.ext.SysPrjmenuExt;
import com.elitel.frame.main.entity.vo.PageRequestVo;
import com.elitel.frame.main.entity.vo.PageResponseVo;

public interface SysPrjMenuService {
	
	/**
	 * <pre>getPrjMenuList(条件加分页查询菜单列表)   
	 * @author：FanWenquan    
	 * @date：2017年11月27日 上午11:23:29   
	 * @param pr
	 * @return</pre>
	 */
	PageResponseVo<SysPrjmenu> getPrjMenuList(PageRequestVo<SysPrjmenu> pr);
	
	/**
	 * <pre>insertPrjMenuConfig(添加服务菜单)   
	 * @author：FanWenquan    
	 * @date：2017年11月27日 上午11:23:39   
	 * @param sysPrjmenu</pre>
	 */
	void insertPrjMenuConfig(SysPrjmenu sysPrjmenu);
	
	/**
	 * <pre>getPrjMenuByGuid(跟据主键查询服务菜单)   
	 * @author：FanWenquan    
	 * @date：2017年11月27日 上午11:23:42   
	 * @param guid
	 * @return</pre>
	 */
	SysPrjmenuExt getPrjMenuByGuid(String guid);
	
	/**
	 * <pre>updatePrjMenuConfig(修改服务菜单)   
	 * @author：FanWenquan    
	 * @date：2017年11月27日 上午11:23:47   
	 * @param sysPrjmenu</pre>
	 */
	void updatePrjMenuConfig(SysPrjmenu sysPrjmenu);
	
	/**
	 * <pre>deletePrjMenuConfig(批量删除服务菜单)   
	 * @author：FanWenquan    
	 * @date：2017年11月27日 上午11:23:50   
	 * @param guids</pre>
	 */
	void deletePrjMenuConfig(String guids);
	/**
	 * <pre>getPrjMenuByMenucode(校验服务菜单编码)   
	 * @author：FanWenquan    
	 * @date：2017年11月27日 上午11:23:54   
	 * @param menucode
	 * @param pcode 
	 * @return</pre>
	 */
	List<SysPrjmenu> getPrjMenuByMenucode(String menucode, String pcode);

	List<SysPrjmenuExt> getMenuList(String pcode, String parent);

	List<SysPrjmenu> getMenuByParent(String guid);
		
	/**
	 * <pre>getPagebyPcode(根据项目编码获取已生成的页面)   
	 * @author：FanWenquan    
	 * @date：2017年12月13日 下午2:11:30   
	 * @param pcode
	 * @return</pre>
	 */
	List<SysPageui> getPagebyPcode(String pcode);

}
